//瀑布流，不同注册的事件之间产生关联，上一个事件可以向下一个事件传递参数的同步钩子
//向下传递参数，核心代码参见reduce.js文件
const { SyncWaterfallHook } = require('tapable');

const queue = new SyncWaterfallHook(['arg1', 'arg2']);

queue.tap('nodeTask', (arg1, arg2) => {
	console.log('nodeTask', arg1, arg2);
	return 'nodeTask-arg'; //向下传递的参数
});
queue.tap('reactTask', (data, arg2) => {
	console.log('reactTask', data, arg2);
});

queue.call('111', '222');
